package test;

import org.junit.Test;
import exepciones.TenisExepcion;
import tenis.Partido;
import tennis.*;

public class JugableTestArmando extends BaseTest {

	@Test
	public void testInicioPartido(){
		IJugador jugador1 = vestuario.getJugadorMasculino();
		IJugador jugador2 = vestuario.getJugadorFemenino();
		jugador1.setNombre("juan");
		jugador2.setNombre("pepe");
		IJugable partido = new Partido();

		try{
			partido.iniciarPartido(jugador1, jugador2);
			
			//assertEquals(jugador1.getSexo(), jugador2.getSexo());	
		}catch(TenisExepcion ex){
			assertTrue("Deberia controlarse que el sexo de ambos jugadores debe ser igual", true);
			System.out.println(ex.getMessage());
		}
	}
	
	//sumo un punto al jugador1 
	public void testSumar(){
		
		IJugador jugador1 = vestuario.getJugadorMasculino();
		IJugador jugador2 = vestuario.getJugadorMasculino();
		jugador1.setNombre("juan");
		jugador2.setNombre("pepe");
		IJugable partido = new Partido();
		try{
		partido.iniciarPartido(jugador1,jugador2);
		partido.sumarPunto(jugador1);//15-0;0-0;0-0
		assertEquals("15-0;0-0;0-0",partido.resultado());
		}catch(TenisExepcion ex){
			assertTrue("Deberia controlarse que el sexo de ambos jugadores debe ser igual", true);
			System.out.println(ex.getMessage());
		}
	}
	
	// sumo un 3 puntos jugador1 - 1 punto jugador2
	public void testSumardos(){
		
		IJugador jugador1 = vestuario.getJugadorMasculino();
		IJugador jugador2 = vestuario.getJugadorFemenino();
		jugador1.setNombre("juan");
		jugador2.setNombre("pepe");
		IJugable partido = new Partido();
		try{
		partido.iniciarPartido(jugador1,jugador2);
		partido.sumarPunto(jugador1);//15-0;0-0;0-0
		partido.sumarPunto(jugador2);//15-15;0-0;0-0
		partido.sumarPunto(jugador1);//30-15;0-0;0-0
		partido.sumarPunto(jugador1);//40-15;0-0;0-0
		assertEquals("40-15;0-0;0-0",partido.resultado());
		}catch(TenisExepcion ex){
			assertTrue("Deberia controlarse que el sexo de ambos jugadores debe ser igual", true);
			System.out.println(ex.getMessage());
		}
	}
	
	// verificar ADV
	public void testSumartres(){
		
		IJugador jugador1 = vestuario.getJugadorMasculino();
		IJugador jugador2 = vestuario.getJugadorMasculino();
		jugador1.setNombre("juan");
		jugador2.setNombre("pepe");
		IJugable partido = new Partido();
		try{
		partido.iniciarPartido(jugador1,jugador2);
		partido.sumarPunto(jugador1);//15-0;0-0;0-0
		partido.sumarPunto(jugador2);//15-15;0-0;0-0
		partido.sumarPunto(jugador1);//30-15;0-0;0-0
		partido.sumarPunto(jugador2);//30-30;0-0;0-0
		partido.sumarPunto(jugador1);//40-30;0-0;0-0
		partido.sumarPunto(jugador2);//40-40;0-0;0-0
		partido.sumarPunto(jugador1);//ADV-40;0-0;0-0
		
	//	assertEquals("ADV-40;0-0;0-0",partido.resultado());
		}catch(TenisExepcion ex){
			assertTrue("Deberia controlarse que el sexo de ambos jugadores debe ser igual", true);
			System.out.println(ex.getMessage());
		}
	}
	
	public void testSumarGame(){
		
		IJugador jugador1 = vestuario.getJugadorFemenino();
		IJugador jugador2 = vestuario.getJugadorFemenino();
		jugador1.setNombre("juan");
		jugador2.setNombre("pepe");
		IJugable partido = new Partido();
		try{
		partido.iniciarPartido(jugador1,jugador2);
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-1
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-2
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-3
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-4
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-5
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-0-1
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-1
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-2
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-3
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-4
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-5
		partido.sumarPunto(jugador1);	//15
		partido.sumarPunto(jugador1);	//30			
		partido.sumarPunto(jugador1);	//40
		partido.sumarPunto(jugador1);	//0-0-2
		
		assertEquals("0-0;0-0;2-0", partido.resultado());

		partido.sumarPunto(jugador1); //no se puede
		
		}catch(TenisExepcion ex){
			System.out.println(ex.getMessage());
		}
	}
	
}
